import tkinter as tk
from tkinter import StringVar

root = tk.Tk()
root.title("Radiobutton 组件示例")

# 创建一个 Label 用于显示选择结果
result_label = tk.Label(root, text="您还未选择任何选项")
result_label.pack(pady=10)

# 创建一个 StringVar 变量用于存储选择的值
selected_var = StringVar()

# 定义选择事件的回调函数
def on_select():
    selection = f"您选择了选项 {selected_var.get()}"
    result_label.config(text=selection)

# 创建第一组单选按钮，展示基本属性
frame1 = tk.Frame(root, padx=20, pady=10)
frame1.pack()

radio1 = tk.Radiobutton(
    frame1,
    text="选项 1",
    variable=selected_var,
    value="1",
    command=on_select,
    background="#f0f0f0",  # 设置背景颜色
    foreground="#333333"  # 设置文字颜色
)
radio1.pack()

radio2 = tk.Radiobutton(
    frame1,
    text="选项 2\n第二行",  # 使用 \n 实现多行文本
    variable=selected_var,
    value="2",
    command=on_select
)
radio2.pack()

# 创建第二组单选按钮，展示更多属性
frame2 = tk.Frame(root, padx=20, pady=10)
frame2.pack()

radio3 = tk.Radiobutton(
    frame2,
    text="选项 3",
    variable=selected_var,
    value="3",
    command=on_select,
    width=20,  # 设置按钮宽度
    state="disabled"  # 设置为禁用状态
)
radio3.pack()

radio4 = tk.Radiobutton(
    frame2,
    text="选项 4",
    variable=selected_var,
    value="4",
    command=on_select,
    highlightcolor="#0078d7"  # 设置高亮边框颜色
)
radio4.pack()

# 启动主循环
root.mainloop()